

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<script type="text/javascript" src="helpman_topicinit.js"></script>

<title>Source Role [Enterprise Architect User Guide]</title>

<meta name="keywords" content="Enterprise Architect, Sparx Systems, UML, Connector,Connector Source Role Properties,Connector Multiplicity,Multiplicity,Multiplicity Connector, Source Role,Object,Object Multiplicity,Source Object,Source Object Multiplicity,Source Role,Source Role Details,isUnique,isUnique UML Property">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />

<link type="text/css" href="default.css" rel="stylesheet" />
<style type="text/css">
  A, A:Visited
  {
    color: #00F;
  }

  A:Active, A:Hover
  {
    color: #F00;
  }

  OL
  {
    margin: 5px 0 5px 48px;
  }

  UL
  {
    margin-bottom: 3px;
    margin-top: 0;
  }

  #nsr
  {
    background-color: #D4DFFF;
  }

  #nsr A
  {
    text-decoration: none;
  }

  #mainbody
  {
    padding: 8px;
  }

  .p_BodyText
  {
    padding: 5px 0;
  }
</style>



<style type="text/css" media="screen">
  BODY
  {
    background-color: #FFFFFF;
  }

  #nsr
  {
    padding: 6px 6px 0 6px;
    border-bottom: none;
    vertical-align: top;
    z-index: 2;
    visibility: visible;
    left: 0;
    top: 0;
    position: absolute;
  }

  #mainbody
  {
    left: 0;
    top: 0;
    margin: 0;
    position: absolute;
    padding: 10px;
    overflow: auto;
    height: 100%;
    z-index: 1;
    background-repeat: no-repeat;
    background-position: bottom right;
    background-attachment: fixed;
  }
</style>

<style type="text/css" media="print">
  #nsr
  {
    visibility: none;
  }

  #mainbody
  {
    overflow: visible;
  }
</style>
<script type="text/javascript" language="JavaScript" src="nonscroll.js"></script>

</head>
<body scroll="no">

<div id="page">



        <div id="content">
          <div id="content-inner">
          



  
          <div id="nsr">
            <table border="0" cellspacing="0" cellpadding="4" width="100%">
              <tr valign="top">
                <td align="left">
  


                  <p class="p_Heading1"><span class="f_Heading1">Source Role</span></p>



  
                </td>
                <td align="right">
                  <a href="introduction.htm" onmouseover="document.images.main.src='button_main_h.gif'" onmouseout="document.images.main.src='button_main.gif'">
                    <img name="main" src="button_main.gif" border=0 alt="Return to Introduction">
                  </a>&nbsp;
    
                  <a href="connectionconstraints.htm" onmouseover="document.images.prev.src='button_prev_h.gif'" onmouseout="document.images.prev.src='button_prev.gif'">
                    <img name=prev src="button_prev.gif" border=0 alt="Previous page" />
                  </a>&nbsp;
    
    
    
                  <a href="destinationrole.htm" onmouseover="document.images.next.src='button_next_h.gif'" onmouseout="document.images.next.src='button_next.gif'">
                    <img name=next src="button_next.gif" border=0 alt="Next page" />
                  </a>
    
    
                </td>
              </tr>
            </table>
          </div>
          <div id="mainbody">
  


                <p class="p_BodyText"><span class="f_BodyText">This description refers to the role of the </span><span class="f_BodyText" style="font-style: italic;">Source</span><span class="f_BodyText"> element in a relationship, but applies equally to the role of the </span><span class="f_BodyText" style="font-style: italic;">Target</span><span class="f_BodyText"> element.</span></p>
<p class="p_BodyText"><span class="f_BodyText">A connector can have certain properties assigned to one end, and be associated with the particular role that element plays in the relationship. You can enter details about this role to further develop your model.</span></p>
<p class="p_SubHeadingL1"><span class="f_SubHeadingL1">Set Source Role Details</span></p>
<p class="p_BodyText"><span class="f_BodyText">To set the source role details, follow the steps below:</span></p>
<ol style="text-indent: 0px; margin-left: 48px; list-style-position: outside;">
<li value=1><span class="f_NumberedList">Double-click on a connector. The Connector</span><span class="f_UIControl"> Properties</span><span class="f_NumberedList"> dialog displays.</span></li>
<li value=2><span class="f_NumberedList">Select the </span><span class="f_UIControl">Source Role</span><span class="f_NumberedList"> tab.</span></li>
<li value=3><span class="f_NumberedList">Enter the required details and click on the </span><span class="f_MenuKeyField">OK</span><span class="f_NumberedList"> button</span><span class="f_NumberedList">.</span><br>
<span class="f_NumberedList">&nbsp;</span><br>
<img src="associationpropertiesdialog.png" width="388" height="444" border="0" alt="AssociationPropertiesDialog"><br>
<span class="f_NumberedList">&nbsp;</span></li>
</ol>
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 5px 0px 5px 13px;"><table cellspacing="0" cellpadding="0" border="0" style="border: none; border-spacing:0px; border-collapse: collapse;">
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="109" bgcolor="#e3e6ed" style="width:109px; background-color:#e3e6ed; border: solid 1px #000000;"><p class="p_Tableheader"><span class="f_Tableheader">Option</span></p>
</td>
<td valign="top" width="566" bgcolor="#e3e6ed" style="width:566px; background-color:#e3e6ed; border: solid 1px #000000;"><p class="p_Tableheader"><span class="f_Tableheader">Use to</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="109" style="width:109px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext" style="font-weight: bold;">&lt;Type&gt; Role</span></p>
</td>
<td valign="top" width="566" style="width:566px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Type in the name of the role to be played.</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="109" style="width:109px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext" style="font-weight: bold;">Alias</span></p>
</td>
<td valign="top" width="566" style="width:566px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Type an alias for the role, if required.</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="109" style="width:109px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext" style="font-weight: bold;">Role Notes</span></p>
</td>
<td valign="top" width="566" style="width:566px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Type in any required notes about the role.</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="109" style="width:109px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext" style="font-weight: bold;">Derived</span></p>
</td>
<td valign="top" width="566" style="width:566px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Indicate that the role </span><span class="f_Tabletext">value or values can be computed from other information.</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="109" style="width:109px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext" style="font-weight: bold;">Owned</span></p>
</td>
<td valign="top" width="566" style="width:566px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Indicate that the role is owned by the opposite Class as opposed to the Association.</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="109" style="width:109px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext" style="font-weight: bold;">Derived Union</span></p>
</td>
<td valign="top" width="566" style="width:566px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Indicate that the role is derived from the properties that subset it.</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="109" style="width:109px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext" style="font-weight: bold;">Multiplicity</span></p>
</td>
<td valign="top" width="566" style="width:566px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Specify the role multiplicity. (You can define the values of this field on the </span><span class="f_UIControl"><a href="cardinality.htm">Cardinality</a></span><span class="f_Tabletext"> tab of the </span><span class="f_UIControl">UML Types</span><span class="f_Tabletext"> dialog.)</span></p>
<p class="p_Tabletext"><span class="f_Tabletext">This is the range of instances of the role that can be active in the relationship; for example,</span><span class="f_Tabletext" style="font-style: italic;"> one</span><span class="f_Tabletext"> employee can be assigned to tasks; for the target role you define the range of instances (e.g. tasks) the employee could be assigned to.</span></p>
<p class="p_Tabletext"><span class="f_Tabletext">The values have the following formats:</span></p>
<ul style="text-indent: 0px; margin-left: 15px; list-style-position: outside;">
<li><span class="f_Tabletext" style="font-weight: bold;">*</span><span class="f_Tabletext">, or </span><span class="f_Tabletext" style="font-weight: bold;">0..*</span><span class="f_Tabletext"> - zero, one or many instances</span></li>
<li><span class="f_Tabletext" style="font-weight: bold;">0..n</span><span class="f_Tabletext"> - zero or up to n instances, but no more than n</span></li>
<li><span class="f_Tabletext" style="font-weight: bold;">n</span><span class="f_Tabletext"> - exactly n instances</span></li>
<li><span class="f_Tabletext" style="font-weight: bold;">n..*</span><span class="f_Tabletext"> - n, or more than n instances.</span></li>
</ul>
<p class="p_Tabletext"><span class="f_Tabletext">Note that you can also define source and target element multiplicity in the element <a href="attributesdetail.htm">Attribute properties</a>.</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="109" style="width:109px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext" style="font-weight: bold;">Ordered</span></p>
</td>
<td valign="top" width="566" style="width:566px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Indicate that the role is a list and the list is ordered.</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="109" style="width:109px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext" style="font-weight: bold;">Allow Duplicates</span></p>
</td>
<td valign="top" width="566" style="width:566px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Indicate that the role can contain duplicate elements (relevant only if </span><span class="f_Tabletext">multiplicity is &gt; </span><span class="f_Tabletext" style="font-weight: bold;">1</span><span class="f_Tabletext">).</span></p>
<p class="p_Tabletext"><span class="f_Tabletext">Maps to the UML property </span><span class="f_Tabletext" style="font-style: italic;">isUnique </span><span class="f_Tabletext">(selecting the checkbox maps to the</span><span class="f_Tabletext" style="font-style: italic;"> isUnique </span><span class="f_Tabletext">value of</span><span class="f_Tabletext" style="font-style: italic;"> FALSE</span><span class="f_Tabletext">).</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="109" style="width:109px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext" style="font-weight: bold;">Containment</span></p>
</td>
<td valign="top" width="566" style="width:566px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Indicate the nature of the containment at the Destination (reference, value...).</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="109" style="width:109px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext" style="font-weight: bold;">Access</span></p>
</td>
<td valign="top" width="566" style="width:566px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Select the access level for the role.</span></p>
</td>
</tr>
<tr style="text-align:left;vertical-align:top;">
<td valign="top" width="109" style="width:109px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext" style="font-weight: bold;">Aggregation</span></p>
</td>
<td valign="top" width="566" style="width:566px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Select the</span><span class="f_Tabletext"> type of aggregation that this role uses.</span></p>
</td>
</tr>
<tr style="text-align:left;">
<td width="109" style="width:109px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext" style="font-weight: bold;">Target Scope</span></p>
</td>
<td width="566" style="width:566px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Select the level at which this role applies (instance or classifier).</span></p>
</td>
</tr>
<tr style="text-align:left;">
<td width="109" style="width:109px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext" style="font-weight: bold;">Navigability</span></p>
</td>
<td width="566" style="width:566px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Select whether or not this role is navigable (non-navigable ends are shown depending on diagram properties).</span></p>
</td>
</tr>
<tr style="text-align:left;">
<td width="109" style="width:109px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext" style="font-weight: bold;">Changeable</span></p>
</td>
<td width="566" style="width:566px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Select whether this role is subject to change.</span></p>
</td>
</tr>
<tr style="text-align:left;">
<td width="109" style="width:109px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext" style="font-weight: bold;">Constraint(s)</span></p>
</td>
<td width="566" style="width:566px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Type in any constraint on the role.</span></p>
</td>
</tr>
<tr style="text-align:left;">
<td width="109" style="width:109px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext" style="font-weight: bold;">Qualifier(s)</span></p>
</td>
<td width="566" style="width:566px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Type any qualifiers or restrictions on the role. Separate multiple qualifiers with a semi-colon.</span></p>
</td>
</tr>
<tr style="text-align:left;">
<td width="109" style="width:109px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext" style="font-weight: bold;">Stereotype</span></p>
</td>
<td width="566" style="width:566px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">(Optional) Type or select the name of a stereotype that applies to this end of the Association.</span></p>
</td>
</tr>
<tr style="text-align:left;">
<td width="109" style="width:109px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext" style="font-weight: bold;">Member Type</span></p>
</td>
<td width="566" style="width:566px; border: solid 1px #000000;"><p class="p_Tabletext"><span class="f_Tabletext">Type a role type that can be used when generating collection Classes for multiplicity </span><span class="f_Tabletext" style="font-weight: bold;">&gt; 1</span><span class="f_Tabletext">.</span></p>
</td>
</tr>
</table>
</div>
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 5px 0px 5px 13px;"><table cellspacing="0" cellpadding="2" border="0" style="border: none; border-spacing:0px;">
<tr style="text-align:left;vertical-align:bottom;">
<td valign="bottom" width="955" bgcolor="#efeff7" style="width:955px; background-color:#efeff7;"><p class="p_TiporNote" style="border-top: none; border-right: none; border-left: none;"><span class="f_TiporNote">Note:</span></p>
</td>
</tr>
<tr style="text-align:left;">
<td width="955" bgcolor="#f7f7ff" style="width:955px; background-color:#f7f7ff;"><p class="p_TiporNoteText"><span class="f_TiporNoteText">Source role details are displayed at the start end of a connector. If you have drawn the connector the wrong way, you can always use the </span><span class="f_MenuKeyField">Reverse Direction</span><span class="f_TiporNoteText"> menu option from the connector context menu.</span></p>
</td>
</tr>
</table>
</div>




            </div>
          </div>
        </div>



</div>


</body>
</html>
